<?php

/**
 * lucene索引模型接口
 * @author       steven.liao
 */
interface iLucene
{

	/**
	 * 返回索引对象
	 * @param    string $name    索引名，对应index.ini文件
	 * @return   object
	 */
	public function setName($name);

	/**
	 * 取得索引名
	 * @return   string
	 */
	public function getName();

	/**
	 * 设置返回数据条数
	 * @param    int $limit    数据条数
	 * @return   object
	 */
	public function setLimit($limit);

	/**
	 * 取得返回数据条数
	 * @return   int
	 */
	public function getLimit();

	/**
	 * 设定当前返回页数据
	 * @param    int $page    页码数
	 * @return   object
	 */
	public function setPage($page);

	/**
	 * 取得当前页数
	 * @return   int
	 */
	public function getPage();

	/**
	 * 设定查询的关键字
	 * @param    string $keyword    当前查询的关键字
	 * @return   object
	 */
	public function setKeyword($keyword);

	/**
	 * 取得当前要查询的关键字
	 * @return   string
	 */
	public function getKeyword();

	/**
	 * 加入索引数据
	 * @param    array $data    字段数组
	 * @return   boolean
	 */
	//public function addData($data);

	/**
	 * 优化当前索引
	 * @return   void
	 */
	public function optimize();

	/**
	 * 更新索引数据  单条
	 * @param    array $data    当前数据数组
	 * @return   int
	 */
	public function update($data);
	/**
	 * 更新索引数据  多条
	 * @param    array $data    当前数据数组
	 * @return   int
	 */
	public function updates($datas);

	/**
	 * 删除索引数据
	 * @param    int $id    当前索引ID
	 * @return   int
	 */
	public function delete($id);

	/**
	 * 索引commit
	 * @return   boolean
	 */
	public function commit();

	/**
	 * 统计索引数据
	 * @return   array
	 */
	public function count();
}